<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>VIP价格信息表</title>
    <link rel="stylesheet" href="http://47.100.102.177:8080/app/css/common/bootstrap.min.css">
    <link rel="stylesheet" href="../../../boot/plugin/download/font_2801350_hw9pyy8c125/iconfont.css">    <script src="http://47.100.102.177:8080/app/js/common/jquery-1.12.4.js"></script>
    <!-- 必须先引入vue，  后使用element-ui -->
    <script src="../../../boot/plugin/element/vue.js"></script>
    <!--引入 element-ui 的样式，-->
    <link rel="stylesheet" href="../../../boot/plugin/element/element.css">
    <!-- 引入element 的组件库-->
    <script src="../../../boot/plugin/element/element.js"></script>
    <style>
        th {
            text-align: center;
        }
        
        .bg-add {
            width: 100%;
            height: 100vh;
            position: absolute;
            top: 0px;
            background-color: rgba(0, 0, 0, 0.2);
            display: none;
        }
        
        .inf {
            background-color: white;
            height: 630px;
            width: 45%;
            margin: auto;
            margin-top: 60px;
            border-radius: 3px;
        }
        
        .inf-head {
            width: 100%;
            height: 30px;
            background-color: rgb(21, 184, 215);
            border-radius: 3px;
        }
        
        #close-add {
            float: right;
            margin-right: 5px;
            background-color: red;
            color: white;
            font-weight: 900;
            border-radius: 5px;
            border: 0px;
            margin-top: 3px;
        }
        
        .inf-from {
            width: 100%;
            height: 600px;
            border-radius: 3px;
            overflow: scroll;
        }
        
        .mailTable {
            width: 100%;
            border-top: 1px solid #E6EAEE;
            border-left: 1px solid #E6EAEE;
            margin-bottom: 30px;
        }
        
        .mailTable tr td {
            width: 200px;
            height: 35px;
            line-height: 35px;
            box-sizing: border-box;
            padding: 0 10px;
            border-bottom: 1px solid #E6EAEE;
            border-right: 1px solid #E6EAEE;
        }
        
        .mailTable tr td.column {
            background-color: #EFF3F6;
            color: #393C3E;
            width: 30%;
        }
    </style>
</head>

<body>
    <div style="width: 100%;height: 20px;"></div>
    <form class="form-inline" style="text-align: center;">
        <div class="form-group">
            <label for="vipName">vip名</label>
            <input type="text" class="form-control" id="vipName" placeholder="请输入vip名称">
        </div>
        <button type="button" class="btn btn-default" onclick="searchVip()"><i class="iconfont"
                style="font-size: 14px;color: #3E8EF7;">&#xe660;</i></button>
        <button type="button" style="margin-left: 10px;" class="btn btn-info" onclick="add()">新增</button>
    </form>
    <div style="width: 100%;height: 20px;"></div>
    <table class="table table-bordered" style="text-align: center;">
        <thead id="th">
            <tr>
                <th><input type="checkbox" id="all"></th>
                <th>VIP编号</th>
                <th>VIP名称</th>
                <th>所需积分(双击修改)</th>
                <th>权益描述</th>
            </tr>
        </thead>
        <tbody id="tb">

        </tbody>
    </table>
    <div style="float: right;margin-right: 20px;">
        <div style="float: left;height: 80px;line-height: 80px;margin-right: 20px;" id="pageNum">共&nbsp;<span style="color: red">${haveVip}</span>&nbsp;条记录&nbsp;&nbsp;</div>
        <div style="float: left;height: 80px;line-height: 80px;margin-right: 20px;">&nbsp;<span style="color: red">12</span>&nbsp;条&nbsp;/&nbsp;页</div>
        <div id="app" style="float: left;" onclick="page()">
            <el-pagination background layout="prev, pager, next" :total="${allVip}*10" style="margin-top: 23px;">
            </el-pagination>
        </div>
    </div>
    <div class="bg-add" style="position: fixed;">
        <div class="inf">
            <div class="inf-head">
                <h4 style="color: white;display: inline;line-height: 30px;margin-left: 5px;">新增vip类别</h4>
                <input type="button" id="close-add" value="×">
            </div>
            <div class="inf-from">
                <form action="" id="fromOfVip">
                    <table class="mailTable" cellspacing="0" cellpadding="0">
                        <tr>
                            <td class="column">vip名称</td>
                            <td><input class="form-control" id="vipname_add" name="vipName" type="text" placeholder="请输vip名称"></td>
                        </tr>
                        <tr>
                            <td class="column">价格/月</td>
                            <td><input class="form-control" id="price_add" name="vipPrice" type="text" placeholder="请输入价格/月"></td>
                        </tr>
                        <tr>
                            <td class="column">权益描述</td>
                            <td><textarea class="form-control" id="power_add" name="vipDescribe" placeholder="请输入权益描述" rows="3"></textarea></td>
                        </tr>
                    </table>
                    <button type="submit" class="btn btn-default" style="float: left;margin-left: 180px;" onclick="addVip()">新增</button>
                    <button type="reset" class="btn btn-default" style="float: right;margin-right: 180px;">重置</button>
                </form>
            </div>
        </div>
    </div>
    <script type="text/javascript">
        new Vue().$mount('#app');

        let vip = ${vip};
        let tb = document.getElementById("tb");
        let str = "";
        for (let i = 0; i < vip.length; i++) {
            str += '<tr>';
            str += '<td><input type="checkbox" name="cks"></td>';
            str += '<td>' + vip[i].vipId + '</td>';
            str += '<td>' + vip[i].vipName + '</td>';
            str += '<td>' + vip[i].vipPrice + '</td>';
            str += '<td>' + vip[i].vipDescribe + '</td>';
            str += '</tr>';
        }
        tb.innerHTML = str;


        let len = document.getElementById("tb").getElementsByTagName("tr").length;
        let trs = document.getElementById("tb").getElementsByTagName("tr");
        for (let i = 0; i < len; i++) {
            let td = trs[i].querySelector('td:last-child').previousElementSibling;
            td.ondblclick = update;
        }

        function page() {
            str = "";
            let active = document.getElementsByClassName("active")[0];

            let param = "nowPage="+parseInt(active.innerText);
            $.get('/boot/admin/getNowPageOfVip',param,function (res) {
                vip = res;
                for (let i = 0; i < vip.length; i++) {
                    str += '<tr>';
                    str += '<td><input type="checkbox" name="cks"></td>';
                    str += '<td>' + vip[i].vipId + '</td>';
                    str += '<td>' + vip[i].vipName + '</td>';
                    str += '<td>' + vip[i].vipPrice + '</td>';
                    str += '<td>' + vip[i].vipDescribe + '</td>';
                    str += '</tr>';
                }
                tb.innerHTML = str;

                let len = document.getElementById("tb").getElementsByTagName("tr").length;
                let trs = document.getElementById("tb").getElementsByTagName("tr");
                for (let i = 0; i < len; i++) {
                    let td = trs[i].querySelector('td:last-child').previousElementSibling;
                    td.ondblclick = update;
                }
            });
        }

        function update() {
            if (parseInt(${admin.powerId})==1 || parseInt(${admin.powerId})==2){
                let oldValue = this.innerText;
                this.innerHTML = "";
                let input = document.createElement("input");
                let td = this;
                input.type = "text";
                input.value = oldValue;
                input.onblur = function() {
                    td.innerHTML = this.value;
                    let vipId = parseInt(td.previousElementSibling.previousElementSibling.innerHTML);
                    let vipPrice = (this.value)*1;
                    let param = {vipId:vipId,vipPrice:vipPrice}
                    $.post('/boot/admin/updateVipPrice',param,function (res){
                        if (res.code=="200"){
                            alert(res.msg);
                        }else {
                            alert("修改失败")
                        }
                    });
                }
                input.onclick = function() {
                    this.select();
                }
                td.appendChild(input);
            }else {
                alert("对不起!只有Ⅰ,Ⅱ级管理员才能执行此操作!!!")
            }

        }


        let tbody = document.getElementById("tb");

        function add() {
            if (parseInt(${admin.powerId})==1 || parseInt(${admin.powerId})==2){
                let bgadd = document.getElementsByClassName("bg-add");
                bgadd[0].style.display = "block";
            }else {
                alert("对不起!只有Ⅰ,Ⅱ级管理员才能执行此操作!!!")
            }

        }

        function addVip(){
            let from = $("#fromOfVip");
            let param = from.serialize();
            $.post('/boot/admin/addVip',param,function (res){
                if (res.code=="200"){
                    alert(res.msg);
                    location.reload();
                }else {
                    alert("添加失败")
                }
            });
        }

        function searchVip(){
            let vipName = document.getElementById("vipName").value;
            let param = "vipName="+vipName;
            str = "";
            $.get('/boot/admin/findVipByName',param,function (res){
                if (res.length>0&&res!=null){
                    vip = res;
                    for (let i = 0; i < vip.length; i++) {
                        str += '<tr>';
                        str += '<td><input type="checkbox" name="cks"></td>';
                        str += '<td>' + vip[i].vipId + '</td>';
                        str += '<td>' + vip[i].vipName + '</td>';
                        str += '<td>' + vip[i].vipPrice + '</td>';
                        str += '<td>' + vip[i].vipDescribe + '</td>';
                        str += '</tr>';
                    }
                    tb.innerHTML = str;

                    let len = document.getElementById("tb").getElementsByTagName("tr").length;
                    let trs = document.getElementById("tb").getElementsByTagName("tr");
                    for (let i = 0; i < len; i++) {
                        let td = trs[i].querySelector('td:last-child').previousElementSibling;
                        td.ondblclick = update;
                    }
                }else {
                    str +="<tr><td colspan='5'>查询为空</td></tr>"
                    tb.innerHTML = str;
                }
            });
        }


        $(function() {
            //通过点击最上面的全选框，它的选中状态决定后面复选框的选中状态
            $("#all").click(function() {
                console.log($(this).prop("checked"));
                console.log($("#tb input"));
                $("#tb input").prop("checked", $(this).prop("checked"));
            });

            //后面的复选框点击后，判断是否全部都选中，如果都选中，最上面的全选框自动勾上
            $("#tb input").click(function() {
                console.log($("#tb input:checked")); //选中的元素
                if ($("#tb input:checked").length == $("#tb input").length) {
                    $("#all").prop("checked", true);
                } else {
                    $("#all").prop("checked", false);
                }
            });
            $("#close-add").click(function() {
                $(".bg-add").css("display", "none");
            });
        });
    </script>
</body>

</html>